


//分离了 axios 的请求

import axios from "axios"
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';


//创建axios实列
  const request = axios.create({
  baseURL: "/api1",
  timeout: 10000,
})

//添加拦截器
// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  NProgress.start();
  // console.log(config);
  const token =  localStorage.getItem("user_token")
  // console.log(token);
  // 在拦截器中给请求头 添加 token
  config.headers.token = token
  return config;

}, function (error) {
  // 对请求错误做些什么
  NProgress.done();
  return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  NProgress.done();
  
  if(response.data.code === 20000){
    return Promise.reject({
      message:response.data.message,
      isLogin:false
    })
  }

  //只对符合我们成功逻辑的处理，否则其他报错
  if (response.data.code !== 10000) {
    return Promise.reject({
      message: response.data.message,
      isLogin:true
    })
  }

   //响应体
  // console.log(response);
  //响应体的数据
  // console.log(response.data);
  //真正的数据
  // console.log(response.data.data);
  return response.data.data;
 
}, function (error) {
  // 对响应错误做点什么
  NProgress.done();
  return Promise.reject(error);
});

//暴露模块
export default request;

